package net.sk.china.city.talk.model.user;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 用户账单表
 * +----------------------------------------------------------------------
 * // | Talk To [ 聊来改善地区金融服务环境，助力企业发展 ]
 * // +----------------------------------------------------------------------
 * // | Copyright (c) 2018-2024 聊来 All rights reserved.
 * // +----------------------------------------------------------------------
 * // | Licensed ( <a href="http://www.apache.org/licenses/LICENSE-2.0">apache</a> )
 * // +----------------------------------------------------------------------
 * // | @Author: 聊来 <18970881148@qq.com>
 * // +----------------------------------------------------------------------
 * // | DateTime: 2024/6/3 10:26
 * // +----------------------------------------------------------------------
 */

@Data
@TableName("db_user_bill")
public class UserBill implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "用户账单id")
    @TableId(value = "id", type = IdType.AUTO)
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer id;

    @ApiModelProperty(value = "用户uid")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer uid;

    @ApiModelProperty(value = "关联id")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String linkId;

    @ApiModelProperty(value = "0 = 支出 1 = 获得")
    private int pm;

    @ApiModelProperty(value = "账单标题")
    private String title;

    @ApiModelProperty(value = "明细种类")
    private String category;

    @ApiModelProperty(value = "明细类型")
    private String type;

    @ApiModelProperty(value = "明细数字")
    private BigDecimal number;

    @ApiModelProperty(value = "剩余")
    private BigDecimal balance;

    @ApiModelProperty(value = "备注")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String mark;

    @ApiModelProperty(value = "0 = 带确定 1 = 有效 -1 = 无效")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer status;

    @JsonProperty(value = "createTime")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "用户昵称")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private String nickName;

    @ApiModelProperty(value = "创建时间")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private String time;
}

